package com.lib.common.utils;

/**
 * 数字处理工具类
 */
public class NumberUtil {

    /**
     * 格式数据，如果大约1万的话，显示 x.xx万
     *
     * @param num 多少数
     */
    public static String formatLikeNum(double num) {
        return (num < 10000) ? String.format("%.0f", num) : String.format("%.1f万", num / 10000);
    }

    /**
     * 格式数据，如果大约10万的话，显示 x.xx万
     *
     * @param num 多少数
     */
    public static String formatLikeNumFor10W(double num) {
        return (num < 100000) ? String.format("%.0f", num) : String.format("%.1f万", num / 10000);
    }
    /**
     * 格式数据，如果大约100万的话，显示 x.xx万
     *
     * @param num 多少数
     */
    public static String formatLikeNumFor100W(double num) {
        return (num < 1000000) ? String.format("%.0f", num) : String.format("%.1f万", num / 10000);
    }

    public static String formatNumber(double num){
        String result = "";
        // 大于1万,小于1亿,以万为单位
        if(num >= 10000 && num < 100000000){
            return String.format("%.1f万", num / 10000);

            // 大于1亿的
        } else if(num >= 100000000){
            return String.format("%.1f亿", num / 100000000);

        }

        return result;
    }

    /**
     * 日期差天数、小时、分钟、秒数组
     * @return
     */
    public static String getDisTime(long startTime, long endTime) {
        String str = "";
        long timesDis = Math.abs(startTime - endTime);
        long day = timesDis / (1000 * 60 * 60 * 24);
        long hour = timesDis / (1000 * 60 * 60) - day * 24;
        long min = timesDis / (1000 * 60) - day * 24 * 60 - hour * 60;
        long sec = timesDis / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60;

        if(day > 0){
            str = day+"天前";
        } else {
            if (hour > 0) {
                str = hour+"小时前";
            }else{
                str = min+"分钟前";
            }
        }

        return str;
    }
}
